<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Objects\Lks32SegLed02270928.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Objects\Lks32SegLed02270928.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Tue Feb 27 22:22:49 2024
<BR><P>
<H3>Maximum Stack Usage =        176 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main &rArr; app_init &rArr; modbus_init &rArr; uart_init &rArr; uart1_hal_init &rArr; UART_Init &rArr; __aeabi_ldivmod &rArr; __aeabi_uldivmod &rArr; __aeabi_llsr
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[1]">NMI_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1]">NMI_Handler</a><BR>
 <LI><a href="#[2]">HardFault_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[2]">HardFault_Handler</a><BR>
 <LI><a href="#[3]">SVC_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[3]">SVC_Handler</a><BR>
 <LI><a href="#[4]">PendSV_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[4]">PendSV_Handler</a><BR>
 <LI><a href="#[18]">DMA_IRQHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[18]">DMA_IRQHandler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
 <LI><a href="#[11]">ADC0_IRQHandler</a> from interrupt.o(i.ADC0_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[19]">CAN_IRQHandler</a> from interrupt.o(i.CAN_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[15]">CMP_IRQHandler</a> from interrupt.o(i.CMP_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[18]">DMA_IRQHandler</a> from startup_lks32mc08x.o(.text) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[12]">DSP_IRQHandler</a> from startup_lks32mc08x.o(.text) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[a]">ENCODER0_IRQHandler</a> from interrupt.o(i.ENCODER0_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[b]">ENCODER1_IRQHandler</a> from interrupt.o(i.ENCODER1_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[d]">GPIO_IRQHandler</a> from interrupt.o(i.GPIO_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[f]">HALL_IRQHandler</a> from interrupt.o(i.HALL_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[2]">HardFault_Handler</a> from startup_lks32mc08x.o(.text) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[c]">I2C0_IRQHandler</a> from interrupt.o(i.I2C0_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[13]">MCPWM_IRQHandler</a> from interrupt.o(i.MCPWM_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[1]">NMI_Handler</a> from startup_lks32mc08x.o(.text) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[17]">PWRDN_IRQHandler</a> from startup_lks32mc08x.o(.text) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[4]">PendSV_Handler</a> from startup_lks32mc08x.o(.text) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[0]">Reset_Handler</a> from startup_lks32mc08x.o(.text) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[1a]">SIF_IRQHandler</a> from startup_lks32mc08x.o(.text) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[10]">SPI0_IRQHandler</a> from interrupt.o(i.SPI0_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[3]">SVC_Handler</a> from startup_lks32mc08x.o(.text) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[5]">SysTick_Handler</a> from interrupt.o(i.SysTick_Handler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[1c]">SystemInit</a> from hardware_init.o(i.SystemInit) referenced from startup_lks32mc08x.o(.text)
 <LI><a href="#[e]">UART0_IRQHandler</a> from startup_lks32mc08x.o(.text) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[14]">UART1_IRQHandler</a> from interrupt.o(i.UART1_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[48]">UART1_SendByte</a> from uart_hal.o(i.UART1_SendByte) referenced from uart.o(i.uart_init)
 <LI><a href="#[6]">UTIMER0_IRQHandler</a> from interrupt.o(i.UTIMER0_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[7]">UTIMER1_IRQHandler</a> from interrupt.o(i.UTIMER1_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[8]">UTIMER2_IRQHandler</a> from interrupt.o(i.UTIMER2_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[9]">UTIMER3_IRQHandler</a> from interrupt.o(i.UTIMER3_IRQHandler) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[16]">WAKE_IRQHandler</a> from startup_lks32mc08x.o(.text) referenced from startup_lks32mc08x.o(RESET)
 <LI><a href="#[1d]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup_lks32mc08x.o(.text)
 <LI><a href="#[28]">can_check_running</a> from can.o(i.can_check_running) referenced from can.o(i.can_init)
 <LI><a href="#[2b]">can_clear_limit_flag</a> from can.o(i.can_clear_limit_flag) referenced from can.o(i.can_init)
 <LI><a href="#[27]">can_clear_running_callback</a> from can.o(i.can_clear_running_callback) referenced from can.o(i.can_init)
 <LI><a href="#[2a]">can_get_limit_flag</a> from can.o(i.can_get_limit_flag) referenced from can.o(i.can_init)
 <LI><a href="#[26]">can_receive_message</a> from can.o(i.can_receive_message) referenced from can.o(i.can_init)
 <LI><a href="#[24]">can_rx_finish</a> from can.o(i.can_rx_finish) referenced from can.o(i.can_init)
 <LI><a href="#[23]">can_set_dst_addr</a> from can.o(i.can_set_dst_addr) referenced from can.o(i.can_init)
 <LI><a href="#[20]">can_set_ide</a> from can.o(i.can_set_ide) referenced from can.o(i.can_init)
 <LI><a href="#[29]">can_set_limit_flag</a> from can.o(i.can_set_limit_flag) referenced from can.o(i.can_init)
 <LI><a href="#[21]">can_set_rtr</a> from can.o(i.can_set_rtr) referenced from can.o(i.can_init)
 <LI><a href="#[22]">can_set_src_addr</a> from can.o(i.can_set_src_addr) referenced from can.o(i.can_init)
 <LI><a href="#[25]">can_transmit_message</a> from can.o(i.can_transmit_message) referenced from can.o(i.can_init)
 <LI><a href="#[3e]">crc16</a> from modbus_rs485.o(i.crc16) referenced from modbus_rs485.o(i.modbus_init)
 <LI><a href="#[1e]">fputc</a> from uart_hal.o(i.fputc) referenced from printfb.o(i.__0printf$bare)
 <LI><a href="#[44]">get_global_timer</a> from timer.o(i.get_global_timer) referenced from timer.o(i.timer_init)
 <LI><a href="#[33]">led0_off</a> from gpio_led.o(i.led0_off) referenced from led.o(i.led_object_init)
 <LI><a href="#[32]">led0_on</a> from gpio_led.o(i.led0_on) referenced from led.o(i.led_object_init)
 <LI><a href="#[35]">led0_pin_state</a> from gpio_led.o(i.led0_pin_state) referenced from led.o(i.led_object_init)
 <LI><a href="#[34]">led0_toggle</a> from gpio_led.o(i.led0_toggle) referenced from led.o(i.led_object_init)
 <LI><a href="#[37]">led1_off</a> from gpio_led.o(i.led1_off) referenced from led.o(i.led_object_init)
 <LI><a href="#[36]">led1_on</a> from gpio_led.o(i.led1_on) referenced from led.o(i.led_object_init)
 <LI><a href="#[39]">led1_pin_state</a> from gpio_led.o(i.led1_pin_state) referenced from led.o(i.led_object_init)
 <LI><a href="#[38]">led1_toggle</a> from gpio_led.o(i.led1_toggle) referenced from led.o(i.led_object_init)
 <LI><a href="#[3b]">led2_off</a> from gpio_led.o(i.led2_off) referenced from led.o(i.led_object_init)
 <LI><a href="#[3a]">led2_on</a> from gpio_led.o(i.led2_on) referenced from led.o(i.led_object_init)
 <LI><a href="#[3d]">led2_pin_state</a> from gpio_led.o(i.led2_pin_state) referenced from led.o(i.led_object_init)
 <LI><a href="#[3c]">led2_toggle</a> from gpio_led.o(i.led2_toggle) referenced from led.o(i.led_object_init)
 <LI><a href="#[30]">led_device_ponter</a> from led.o(i.led_device_ponter) referenced from led.o(i.led_init)
 <LI><a href="#[2f]">led_get_state</a> from led.o(i.led_get_state) referenced from led.o(i.led_init)
 <LI><a href="#[2d]">led_set_blk</a> from led.o(i.led_set_blk) referenced from led.o(i.led_init)
 <LI><a href="#[2c]">led_set_state</a> from led.o(i.led_set_state) referenced from led.o(i.led_init)
 <LI><a href="#[31]">led_timer_functions</a> from led.o(i.led_timer_functions) referenced from led.o(i.led_init)
 <LI><a href="#[1b]">main</a> from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
 <LI><a href="#[3f]">modbus_timer_start</a> from modbus_rs485.o(i.modbus_timer_start) referenced from modbus_rs485.o(i.modbus_init)
 <LI><a href="#[40]">modbus_timer_stop</a> from modbus_rs485.o(i.modbus_timer_stop) referenced from modbus_rs485.o(i.modbus_init)
 <LI><a href="#[2e]">modify_state</a> from led.o(i.modify_state) referenced from led.o(i.led_init)
 <LI><a href="#[41]">timer1_hal_enable</a> from utimer_hal.o(i.timer1_hal_enable) referenced from timer.o(i.timer_init)
 <LI><a href="#[42]">timer_callback_handler</a> from timer.o(i.timer_callback_handler) referenced from timer.o(i.timer_init)
 <LI><a href="#[43]">timer_set_inject</a> from timer.o(i.timer_set_inject) referenced from timer.o(i.timer_init)
 <LI><a href="#[46]">uart_send_buffer</a> from uart.o(i.uart_send_buffer) referenced from uart.o(i.uart_init)
 <LI><a href="#[47]">uart_send_byte</a> from uart.o(i.uart_send_byte) referenced from uart.o(i.uart_init)
 <LI><a href="#[45]">uart_send_string</a> from uart.o(i.uart_send_string) referenced from uart.o(i.uart_init)
 <LI><a href="#[1f]">utimer1_500ms_callback</a> from app_timer.o(i.utimer1_500ms_callback) referenced from app_timer.o(i.app_timer_init)
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[1d]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(.text)
</UL>
<P><STRONG><a name="[a4]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

<P><STRONG><a name="[49]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>

<P><STRONG><a name="[53]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Called By]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>

<P><STRONG><a name="[a5]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))

<P><STRONG><a name="[a6]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))

<P><STRONG><a name="[a7]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))

<P><STRONG><a name="[4b]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
<BR><BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__arm_fini_ (Weak Reference)
</UL>

<P><STRONG><a name="[a8]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))

<P><STRONG><a name="[a9]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))

<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, startup_lks32mc08x.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[1]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_lks32mc08x.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NMI_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NMI_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[2]"></a>HardFault_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_lks32mc08x.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HardFault_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HardFault_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[3]"></a>SVC_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_lks32mc08x.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SVC_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SVC_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[4]"></a>PendSV_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, startup_lks32mc08x.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PendSV_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PendSV_Handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[18]"></a>DMA_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_lks32mc08x.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[18]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA_IRQHandler
</UL>
<BR>[Called By]<UL><LI><a href="#[18]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[12]"></a>DSP_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_lks32mc08x.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[17]"></a>PWRDN_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_lks32mc08x.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[1a]"></a>SIF_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_lks32mc08x.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[e]"></a>UART0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_lks32mc08x.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[16]"></a>WAKE_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_lks32mc08x.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[aa]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)

<P><STRONG><a name="[4e]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = __aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_idivmod
</UL>

<P><STRONG><a name="[ab]"></a>__aeabi_idiv</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, idiv.o(.text), UNUSED)

<P><STRONG><a name="[4d]"></a>__aeabi_idivmod</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, idiv.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = __aeabi_idivmod &rArr; __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_loop_func
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg4_show
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg3_show
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg2_show
<LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg1_show
</UL>

<P><STRONG><a name="[4f]"></a>__aeabi_ldivmod</STRONG> (Thumb, 76 bytes, Stack size 24 bytes, ldiv.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = __aeabi_ldivmod &rArr; __aeabi_uldivmod &rArr; __aeabi_llsr
</UL>
<BR>[Calls]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_Init
</UL>

<P><STRONG><a name="[50]"></a>__aeabi_uldivmod</STRONG> (Thumb, 96 bytes, Stack size 48 bytes, uldiv.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = __aeabi_uldivmod &rArr; __aeabi_llsr
</UL>
<BR>[Calls]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
</UL>
<BR>[Called By]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ldivmod
</UL>

<P><STRONG><a name="[52]"></a>__aeabi_llsl</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, llshl.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_llsl
</UL>
<BR>[Called By]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
</UL>

<P><STRONG><a name="[ac]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, llshl.o(.text), UNUSED)

<P><STRONG><a name="[4a]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>

<P><STRONG><a name="[ad]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

<P><STRONG><a name="[51]"></a>__aeabi_llsr</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, llushr.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_llsr
</UL>
<BR>[Called By]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
</UL>

<P><STRONG><a name="[ae]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, llushr.o(.text), UNUSED)

<P><STRONG><a name="[af]"></a>__decompress</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)

<P><STRONG><a name="[b0]"></a>__decompress1</STRONG> (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)

<P><STRONG><a name="[11]"></a>ADC0_IRQHandler</STRONG> (Thumb, 74 bytes, Stack size 0 bytes, interrupt.o(i.ADC0_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[19]"></a>CAN_IRQHandler</STRONG> (Thumb, 66 bytes, Stack size 8 bytes, interrupt.o(i.CAN_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = CAN_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[54]"></a>CAN_Init</STRONG> (Thumb, 316 bytes, Stack size 32 bytes, can_hal.o(i.CAN_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = CAN_Init &rArr; GPIO_PinAFConfig &rArr; __ARM_common_switch8
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriority
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ID_Filter
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_StructInit
<LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_PinAFConfig
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_hal_init
</UL>

<P><STRONG><a name="[15]"></a>CMP_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.CMP_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[60]"></a>Clock_Init</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, hardware_init.o(i.Clock_Init))
<BR><BR>[Called By]<UL><LI><a href="#[1c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemInit
</UL>

<P><STRONG><a name="[a]"></a>ENCODER0_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.ENCODER0_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[b]"></a>ENCODER1_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.ENCODER1_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[d]"></a>GPIO_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.GPIO_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[56]"></a>GPIO_Init</STRONG> (Thumb, 216 bytes, Stack size 20 bytes, lks32mc08x_gpio.o(i.GPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_gpio_init
<LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_gpio_init
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_Init
<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rs485_ctl_gpio_init
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_gpio_init
</UL>

<P><STRONG><a name="[57]"></a>GPIO_PinAFConfig</STRONG> (Thumb, 258 bytes, Stack size 12 bytes, lks32mc08x_gpio.o(i.GPIO_PinAFConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = GPIO_PinAFConfig &rArr; __ARM_common_switch8
</UL>
<BR>[Calls]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_common_switch8
</UL>
<BR>[Called By]<UL><LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_gpio_init
<LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_gpio_init
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_Init
</UL>

<P><STRONG><a name="[5f]"></a>GPIO_ReadOutputDataBit</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, lks32mc08x_gpio.o(i.GPIO_ReadOutputDataBit))
<BR><BR>[Called By]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led2_pin_state
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led1_pin_state
<LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led0_pin_state
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Invers_GPIO
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_WriteData
</UL>

<P><STRONG><a name="[5b]"></a>GPIO_ResetBits</STRONG> (Thumb, 18 bytes, Stack size 12 bytes, lks32mc08x_gpio.o(i.GPIO_ResetBits))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = GPIO_ResetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led2_off
<LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led1_off
<LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led0_off
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Invers_GPIO
<LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rs485_ctl_rx
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_WriteData
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_STOP
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_START
</UL>

<P><STRONG><a name="[5d]"></a>GPIO_SetBits</STRONG> (Thumb, 18 bytes, Stack size 12 bytes, lks32mc08x_gpio.o(i.GPIO_SetBits))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>
<BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led2_on
<LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led1_on
<LI><a href="#[32]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led0_on
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Invers_GPIO
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rs485_ctl_tx
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_WriteData
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_STOP
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_START
</UL>

<P><STRONG><a name="[55]"></a>GPIO_StructInit</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, lks32mc08x_gpio.o(i.GPIO_StructInit))
<BR><BR>[Called By]<UL><LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_gpio_init
<LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_gpio_init
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_Init
<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rs485_ctl_gpio_init
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_gpio_init
</UL>

<P><STRONG><a name="[5c]"></a>GPIO_WriteBit</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, lks32mc08x_gpio.o(i.GPIO_WriteBit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = GPIO_WriteBit
</UL>
<BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
</UL>

<P><STRONG><a name="[f]"></a>HALL_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.HALL_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[89]"></a>Hardware_init</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, hardware_init.o(i.Hardware_init))
<BR><BR>[Called By]<UL><LI><a href="#[1b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[c]"></a>I2C0_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.I2C0_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[5e]"></a>Invers_GPIO</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, gpio_led.o(i.Invers_GPIO))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = Invers_GPIO &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadOutputDataBit
</UL>
<BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led2_toggle
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led1_toggle
<LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led0_toggle
</UL>

<P><STRONG><a name="[13]"></a>MCPWM_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.MCPWM_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[10]"></a>SPI0_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.SPI0_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[62]"></a>SYS_ModuleClockCmd</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, lks32mc08x_sys.o(i.SYS_ModuleClockCmd))
<BR><BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_Init
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimerInit
</UL>

<P><STRONG><a name="[5]"></a>SysTick_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.SysTick_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[1c]"></a>SystemInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, hardware_init.o(i.SystemInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = SystemInit
</UL>
<BR>[Calls]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Clock_Init
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(.text)
</UL>
<P><STRONG><a name="[a2]"></a>TIM_TimerCmd</STRONG> (Thumb, 208 bytes, Stack size 0 bytes, lks32mc08x_tim.o(i.TIM_TimerCmd))
<BR><BR>[Called By]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer2_stop
<LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer2_start
<LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer2_hal_init
<LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer1_hal_init
</UL>

<P><STRONG><a name="[61]"></a>TIM_TimerInit</STRONG> (Thumb, 360 bytes, Stack size 40 bytes, lks32mc08x_tim.o(i.TIM_TimerInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = TIM_TimerInit
</UL>
<BR>[Calls]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SYS_ModuleClockCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer2_hal_init
<LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer1_hal_init
</UL>

<P><STRONG><a name="[a3]"></a>TIM_TimerStrutInit</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, lks32mc08x_tim.o(i.TIM_TimerStrutInit))
<BR><BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer2_hal_init
<LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer1_hal_init
</UL>

<P><STRONG><a name="[63]"></a>TM1640_Generate_START</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, tm1640.o(i.TM1640_Generate_START))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = TM1640_Generate_START &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_init
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg4_show
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg3_show
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg2_show
<LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg1_show
</UL>

<P><STRONG><a name="[65]"></a>TM1640_Generate_STOP</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, tm1640.o(i.TM1640_Generate_STOP))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = TM1640_Generate_STOP &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_init
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg4_show
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg3_show
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg2_show
<LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg1_show
</UL>

<P><STRONG><a name="[66]"></a>TM1640_WriteData</STRONG> (Thumb, 130 bytes, Stack size 16 bytes, tm1640.o(i.TM1640_WriteData))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = TM1640_WriteData &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadOutputDataBit
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_init
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg4_show
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg3_show
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg2_show
<LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg1_show
</UL>

<P><STRONG><a name="[14]"></a>UART1_IRQHandler</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, interrupt.o(i.UART1_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = UART1_IRQHandler &rArr; app_uart1_rx_byte
</UL>
<BR>[Calls]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_uart1_rx_byte
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[48]"></a>UART1_SendByte</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, uart_hal.o(i.UART1_SendByte))
<BR><BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_hal_init
<LI><a href="#[1e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;fputc
</UL>
<BR>[Address Reference Count : 1]<UL><LI> uart.o(i.uart_init)
</UL>
<P><STRONG><a name="[68]"></a>UART_Init</STRONG> (Thumb, 244 bytes, Stack size 48 bytes, lks32mc08x_uart.o(i.UART_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = UART_Init &rArr; __aeabi_ldivmod &rArr; __aeabi_uldivmod &rArr; __aeabi_llsr
</UL>
<BR>[Calls]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SYS_ModuleClockCmd
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ldivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_hal_init
</UL>

<P><STRONG><a name="[a0]"></a>UART_StructInit</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, lks32mc08x_uart.o(i.UART_StructInit))
<BR><BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_hal_init
</UL>

<P><STRONG><a name="[6]"></a>UTIMER0_IRQHandler</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, interrupt.o(i.UTIMER0_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[7]"></a>UTIMER1_IRQHandler</STRONG> (Thumb, 210 bytes, Stack size 8 bytes, interrupt.o(i.UTIMER1_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = UTIMER1_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[8]"></a>UTIMER2_IRQHandler</STRONG> (Thumb, 64 bytes, Stack size 8 bytes, interrupt.o(i.UTIMER2_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = UTIMER2_IRQHandler &rArr; modbus_timer_callback
</UL>
<BR>[Calls]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_timer_callback
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[9]"></a>UTIMER3_IRQHandler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.UTIMER3_IRQHandler))
<BR>[Address Reference Count : 1]<UL><LI> startup_lks32mc08x.o(RESET)
</UL>
<P><STRONG><a name="[6a]"></a>__0printf$bare</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, printfb.o(i.__0printf$bare), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>

<P><STRONG><a name="[b1]"></a>__1printf$bare</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, printfb.o(i.__0printf$bare), UNUSED)

<P><STRONG><a name="[9c]"></a>__2printf</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, printfb.o(i.__0printf$bare))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_init
</UL>

<P><STRONG><a name="[5a]"></a>__ARM_common_switch8</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, lks32mc08x_gpio.o(i.__ARM_common_switch8))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __ARM_common_switch8
</UL>
<BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_PinAFConfig
</UL>

<P><STRONG><a name="[b2]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)

<P><STRONG><a name="[b3]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)

<P><STRONG><a name="[b4]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

<P><STRONG><a name="[6c]"></a>app_can_init</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, app_can_master.o(i.app_can_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 76<LI>Call Chain = app_can_init &rArr; can_init &rArr; can_hal_init &rArr; CAN_Init &rArr; GPIO_PinAFConfig &rArr; __ARM_common_switch8
</UL>
<BR>[Calls]<UL><LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_init
</UL>
<BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_init
</UL>

<P><STRONG><a name="[6e]"></a>app_can_loop_func</STRONG> (Thumb, 156 bytes, Stack size 16 bytes, app_can_master.o(i.app_can_loop_func))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = app_can_loop_func &rArr; can_read_slave_device_info
</UL>
<BR>[Calls]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_read_slave_device_info
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_find_slave
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_add_slave_addr
</UL>
<BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_loop_func
</UL>

<P><STRONG><a name="[72]"></a>app_init</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, app.o(i.app_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 176<LI>Call Chain = app_init &rArr; modbus_init &rArr; uart_init &rArr; uart1_hal_init &rArr; UART_Init &rArr; __aeabi_ldivmod &rArr; __aeabi_uldivmod &rArr; __aeabi_llsr
</UL>
<BR>[Calls]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_init
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_init
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_timer_init
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_led_init
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_can_init
</UL>
<BR>[Called By]<UL><LI><a href="#[1b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[74]"></a>app_led_init</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, app_led.o(i.app_led_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = app_led_init &rArr; led_init &rArr; led_gpio_init &rArr; led2_off &rArr; GPIO_ResetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_init
</UL>
<BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_init
</UL>

<P><STRONG><a name="[78]"></a>app_loop_func</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, app.o(i.app_loop_func))
<BR><BR>[Stack]<UL><LI>Max Depth = 76<LI>Call Chain = app_loop_func &rArr; modbus_loop_func &rArr; modbus_send_buffer &rArr; rs485_ctl_tx &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_handle
<LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_loop_func
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_can_loop_func
</UL>
<BR>[Called By]<UL><LI><a href="#[1b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[75]"></a>app_timer_init</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, app_timer.o(i.app_timer_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = app_timer_init &rArr; timer_init &rArr; utimer1_hal_init &rArr; TIM_TimerInit
</UL>
<BR>[Calls]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_init
</UL>
<BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_init
</UL>

<P><STRONG><a name="[67]"></a>app_uart1_rx_byte</STRONG> (Thumb, 88 bytes, Stack size 8 bytes, modbus_rs485.o(i.app_uart1_rx_byte))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = app_uart1_rx_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART1_IRQHandler
</UL>

<P><STRONG><a name="[7c]"></a>can_app_get_mod_state</STRONG> (Thumb, 18 bytes, Stack size 16 bytes, app_can_master.o(i.can_app_get_mod_state))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = can_app_get_mod_state &rArr; can_app_get_mod_vout
</UL>
<BR>[Calls]<UL><LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_app_get_mod_vout
</UL>
<BR>[Called By]<UL><LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_timer_get_mod
</UL>

<P><STRONG><a name="[7d]"></a>can_app_get_mod_vout</STRONG> (Thumb, 102 bytes, Stack size 24 bytes, app_can_master.o(i.can_app_get_mod_vout))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = can_app_get_mod_vout
</UL>
<BR>[Calls]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_set_msg_ext_id
</UL>
<BR>[Called By]<UL><LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_app_get_mod_state
</UL>

<P><STRONG><a name="[7f]"></a>can_app_set_mod_power</STRONG> (Thumb, 84 bytes, Stack size 16 bytes, app_can_master.o(i.can_app_set_mod_power))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = can_app_set_mod_power
</UL>
<BR>[Calls]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_set_msg_ext_id
</UL>
<BR>[Called By]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_loop_func
</UL>

<P><STRONG><a name="[80]"></a>can_app_set_mod_vout</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, app_can_master.o(i.can_app_set_mod_vout))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = can_app_set_mod_vout
</UL>
<BR>[Calls]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_set_msg_ext_id
</UL>
<BR>[Called By]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_loop_func
</UL>

<P><STRONG><a name="[81]"></a>can_app_set_sys_power</STRONG> (Thumb, 70 bytes, Stack size 16 bytes, app_can_master.o(i.can_app_set_sys_power))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = can_app_set_sys_power
</UL>
<BR>[Calls]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_set_msg_ext_id
</UL>
<BR>[Called By]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_loop_func
</UL>

<P><STRONG><a name="[28]"></a>can_check_running</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, can.o(i.can_check_running))
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[82]"></a>can_hal_init</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, can_hal.o(i.can_hal_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = can_hal_init &rArr; CAN_Init &rArr; GPIO_PinAFConfig &rArr; __ARM_common_switch8
</UL>
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_init
</UL>

<P><STRONG><a name="[6d]"></a>can_init</STRONG> (Thumb, 90 bytes, Stack size 8 bytes, can.o(i.can_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = can_init &rArr; can_hal_init &rArr; CAN_Init &rArr; GPIO_PinAFConfig &rArr; __ARM_common_switch8
</UL>
<BR>[Calls]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_hal_init
</UL>
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_can_init
</UL>

<P><STRONG><a name="[83]"></a>can_receive_msg</STRONG> (Thumb, 292 bytes, Stack size 16 bytes, can_hal.o(i.can_receive_msg))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = can_receive_msg
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_receive_message
</UL>

<P><STRONG><a name="[85]"></a>can_send_msg</STRONG> (Thumb, 212 bytes, Stack size 20 bytes, can_hal.o(i.can_send_msg))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = can_send_msg
</UL>
<BR>[Called By]<UL><LI><a href="#[25]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_transmit_message
</UL>

<P><STRONG><a name="[7e]"></a>can_set_msg_ext_id</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, app_can_master.o(i.can_set_msg_ext_id))
<BR><BR>[Called By]<UL><LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_app_set_sys_power
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_app_set_mod_vout
<LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_app_set_mod_power
<LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_app_get_mod_vout
</UL>

<P><STRONG><a name="[84]"></a>can_timer_get_mod</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, app_timer.o(i.can_timer_get_mod))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = can_timer_get_mod &rArr; can_app_get_mod_state &rArr; can_app_get_mod_vout
</UL>
<BR>[Calls]<UL><LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_app_get_mod_state
</UL>
<BR>[Called By]<UL><LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_app_sw_can_function
</UL>

<P><STRONG><a name="[3e]"></a>crc16</STRONG> (Thumb, 46 bytes, Stack size 20 bytes, modbus_rs485.o(i.crc16))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = crc16
</UL>
<BR>[Address Reference Count : 1]<UL><LI> modbus_rs485.o(i.modbus_init)
</UL>
<P><STRONG><a name="[64]"></a>delay_us</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, delay_hal.o(i.delay_us))
<BR><BR>[Called By]<UL><LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_WriteData
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_STOP
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_START
</UL>

<P><STRONG><a name="[1e]"></a>fputc</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, uart_hal.o(i.fputc))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = fputc
</UL>
<BR>[Calls]<UL><LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART1_SendByte
</UL>
<BR>[Address Reference Count : 1]<UL><LI> printfb.o(i.__0printf$bare)
</UL>
<P><STRONG><a name="[44]"></a>get_global_timer</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, timer.o(i.get_global_timer))
<BR>[Address Reference Count : 1]<UL><LI> timer.o(i.timer_init)
</UL>
<P><STRONG><a name="[33]"></a>led0_off</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, gpio_led.o(i.led0_off))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = led0_off &rArr; GPIO_ResetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
</UL>
<BR>[Called By]<UL><LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_gpio_init
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[32]"></a>led0_on</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, gpio_led.o(i.led0_on))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = led0_on &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[35]"></a>led0_pin_state</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, gpio_led.o(i.led0_pin_state))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = led0_pin_state
</UL>
<BR>[Calls]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadOutputDataBit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[34]"></a>led0_toggle</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, gpio_led.o(i.led0_toggle))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = led0_toggle &rArr; Invers_GPIO &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Invers_GPIO
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[37]"></a>led1_off</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, gpio_led.o(i.led1_off))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = led1_off &rArr; GPIO_ResetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
</UL>
<BR>[Called By]<UL><LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_gpio_init
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[36]"></a>led1_on</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, gpio_led.o(i.led1_on))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = led1_on &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[39]"></a>led1_pin_state</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, gpio_led.o(i.led1_pin_state))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = led1_pin_state
</UL>
<BR>[Calls]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadOutputDataBit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[38]"></a>led1_toggle</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, gpio_led.o(i.led1_toggle))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = led1_toggle &rArr; Invers_GPIO &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Invers_GPIO
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[3b]"></a>led2_off</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, gpio_led.o(i.led2_off))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = led2_off &rArr; GPIO_ResetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
</UL>
<BR>[Called By]<UL><LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_gpio_init
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[3a]"></a>led2_on</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, gpio_led.o(i.led2_on))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = led2_on &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[3d]"></a>led2_pin_state</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, gpio_led.o(i.led2_pin_state))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = led2_pin_state
</UL>
<BR>[Calls]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadOutputDataBit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[3c]"></a>led2_toggle</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, gpio_led.o(i.led2_toggle))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = led2_toggle &rArr; Invers_GPIO &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Invers_GPIO
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_object_init)
</UL>
<P><STRONG><a name="[30]"></a>led_device_ponter</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, led.o(i.led_device_ponter))
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_init)
</UL>
<P><STRONG><a name="[2f]"></a>led_get_state</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, led.o(i.led_get_state))
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_init)
</UL>
<P><STRONG><a name="[86]"></a>led_gpio_init</STRONG> (Thumb, 100 bytes, Stack size 16 bytes, gpio_led.o(i.led_gpio_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = led_gpio_init &rArr; led2_off &rArr; GPIO_ResetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led2_off
<LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led1_off
<LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led0_off
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_StructInit
<LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_PinAFConfig
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_init
</UL>

<P><STRONG><a name="[77]"></a>led_init</STRONG> (Thumb, 48 bytes, Stack size 8 bytes, led.o(i.led_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = led_init &rArr; led_gpio_init &rArr; led2_off &rArr; GPIO_ResetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_gpio_init
<LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_object_init
</UL>
<BR>[Called By]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_led_init
</UL>

<P><STRONG><a name="[2d]"></a>led_set_blk</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, led.o(i.led_set_blk))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = led_set_blk
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_init)
</UL>
<P><STRONG><a name="[1b]"></a>main</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 176<LI>Call Chain = main &rArr; app_init &rArr; modbus_init &rArr; uart_init &rArr; uart1_hal_init &rArr; UART_Init &rArr; __aeabi_ldivmod &rArr; __aeabi_uldivmod &rArr; __aeabi_llsr
</UL>
<BR>[Calls]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_loop_func
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_init
<LI><a href="#[89]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Hardware_init
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P><STRONG><a name="[73]"></a>modbus_init</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, modbus_rs485.o(i.modbus_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = modbus_init &rArr; uart_init &rArr; uart1_hal_init &rArr; UART_Init &rArr; __aeabi_ldivmod &rArr; __aeabi_uldivmod &rArr; __aeabi_llsr
</UL>
<BR>[Calls]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer2_hal_init
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rs485_ctl_tx
<LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rs485_ctl_rx
<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rs485_ctl_gpio_init
<LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_init
</UL>
<BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_init
</UL>

<P><STRONG><a name="[7a]"></a>modbus_loop_func</STRONG> (Thumb, 440 bytes, Stack size 24 bytes, modbus_rs485.o(i.modbus_loop_func))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = modbus_loop_func &rArr; modbus_send_buffer &rArr; rs485_ctl_tx &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_app_set_sys_power
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_app_set_mod_vout
<LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_app_set_mod_power
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_idivmod
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_send_buffer
</UL>
<BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_loop_func
</UL>

<P><STRONG><a name="[8f]"></a>modbus_send_buffer</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, modbus_rs485.o(i.modbus_send_buffer))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = modbus_send_buffer &rArr; rs485_ctl_tx &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rs485_ctl_tx
<LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rs485_ctl_rx
</UL>
<BR>[Called By]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_loop_func
</UL>

<P><STRONG><a name="[69]"></a>modbus_timer_callback</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, modbus_rs485.o(i.modbus_timer_callback))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = modbus_timer_callback
</UL>
<BR>[Called By]<UL><LI><a href="#[8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UTIMER2_IRQHandler
</UL>

<P><STRONG><a name="[3f]"></a>modbus_timer_start</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, modbus_rs485.o(i.modbus_timer_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = modbus_timer_start &rArr; utimer2_start
</UL>
<BR>[Calls]<UL><LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer2_start
</UL>
<BR>[Address Reference Count : 1]<UL><LI> modbus_rs485.o(i.modbus_init)
</UL>
<P><STRONG><a name="[40]"></a>modbus_timer_stop</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, modbus_rs485.o(i.modbus_timer_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = modbus_timer_stop &rArr; utimer2_stop
</UL>
<BR>[Calls]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer2_stop
</UL>
<BR>[Address Reference Count : 1]<UL><LI> modbus_rs485.o(i.modbus_init)
</UL>
<P><STRONG><a name="[2e]"></a>modify_state</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, led.o(i.modify_state))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = modify_state
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_init)
</UL>
<P><STRONG><a name="[8b]"></a>rs485_ctl_gpio_init</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, modbus_rs485.o(i.rs485_ctl_gpio_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = rs485_ctl_gpio_init &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_StructInit
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_init
</UL>

<P><STRONG><a name="[8d]"></a>rs485_ctl_rx</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, modbus_rs485.o(i.rs485_ctl_rx))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = rs485_ctl_rx &rArr; GPIO_ResetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
</UL>
<BR>[Called By]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_init
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_send_buffer
</UL>

<P><STRONG><a name="[8c]"></a>rs485_ctl_tx</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, modbus_rs485.o(i.rs485_ctl_tx))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = rs485_ctl_tx &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
</UL>
<BR>[Called By]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_init
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_send_buffer
</UL>

<P><STRONG><a name="[92]"></a>seg1_show</STRONG> (Thumb, 130 bytes, Stack size 16 bytes, tm1640.o(i.seg1_show))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = seg1_show &rArr; TM1640_WriteData &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_idivmod
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_WriteData
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_STOP
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_START
</UL>
<BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_handle
</UL>

<P><STRONG><a name="[93]"></a>seg2_show</STRONG> (Thumb, 130 bytes, Stack size 16 bytes, tm1640.o(i.seg2_show))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = seg2_show &rArr; TM1640_WriteData &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_idivmod
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_WriteData
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_STOP
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_START
</UL>
<BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_handle
</UL>

<P><STRONG><a name="[94]"></a>seg3_show</STRONG> (Thumb, 130 bytes, Stack size 16 bytes, tm1640.o(i.seg3_show))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = seg3_show &rArr; TM1640_WriteData &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_idivmod
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_WriteData
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_STOP
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_START
</UL>
<BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_handle
</UL>

<P><STRONG><a name="[95]"></a>seg4_show</STRONG> (Thumb, 130 bytes, Stack size 16 bytes, tm1640.o(i.seg4_show))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = seg4_show &rArr; TM1640_WriteData &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_idivmod
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_WriteData
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_STOP
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_START
</UL>
<BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_handle
</UL>

<P><STRONG><a name="[41]"></a>timer1_hal_enable</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, utimer_hal.o(i.timer1_hal_enable))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = timer1_hal_enable &rArr; __NVIC_SetPriority
</UL>
<BR>[Calls]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriority
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_EnableIRQ
</UL>
<BR>[Address Reference Count : 1]<UL><LI> timer.o(i.timer_init)
</UL>
<P><STRONG><a name="[98]"></a>timer2_hal_enable</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, utimer_hal.o(i.timer2_hal_enable))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = timer2_hal_enable &rArr; __NVIC_SetPriority
</UL>
<BR>[Calls]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriority
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_EnableIRQ
</UL>
<BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer2_hal_init
</UL>

<P><STRONG><a name="[99]"></a>timer_app_sw_can_function</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, app_timer.o(i.timer_app_sw_can_function))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = timer_app_sw_can_function &rArr; can_timer_get_mod &rArr; can_app_get_mod_state &rArr; can_app_get_mod_vout
</UL>
<BR>[Calls]<UL><LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_timer_get_mod
</UL>
<BR>[Called By]<UL><LI><a href="#[1f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer1_500ms_callback
</UL>

<P><STRONG><a name="[7b]"></a>timer_init</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, timer.o(i.timer_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = timer_init &rArr; utimer1_hal_init &rArr; TIM_TimerInit
</UL>
<BR>[Calls]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utimer1_hal_init
<LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__2printf
</UL>
<BR>[Called By]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_timer_init
</UL>

<P><STRONG><a name="[9d]"></a>tm1640_gpio_init</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, tm1640.o(i.tm1640_gpio_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = tm1640_gpio_init &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_StructInit
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_init
</UL>

<P><STRONG><a name="[79]"></a>tm1640_handle</STRONG> (Thumb, 64 bytes, Stack size 8 bytes, tm1640.o(i.tm1640_handle))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = tm1640_handle &rArr; seg4_show &rArr; TM1640_WriteData &rArr; GPIO_SetBits &rArr; GPIO_WriteBit
</UL>
<BR>[Calls]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg4_show
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg3_show
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg2_show
<LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;seg1_show
</UL>
<BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_loop_func
</UL>

<P><STRONG><a name="[76]"></a>tm1640_init</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, tm1640.o(i.tm1640_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = tm1640_init &rArr; tm1640_gpio_init &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tm1640_gpio_init
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_WriteData
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_STOP
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TM1640_Generate_START
</UL>
<BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_init
</UL>

<P><STRONG><a name="[9f]"></a>uart1_hal_init</STRONG> (Thumb, 100 bytes, Stack size 24 bytes, uart_hal.o(i.uart1_hal_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = uart1_hal_init &rArr; UART_Init &rArr; __aeabi_ldivmod &rArr; __aeabi_uldivmod &rArr; __aeabi_llsr
</UL>
<BR>[Calls]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_StructInit
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_Init
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART1_SendByte
<LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_gpio_init
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_init
</UL>

<P><STRONG><a name="[8a]"></a>uart_init</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, uart.o(i.uart_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = uart_init &rArr; uart1_hal_init &rArr; UART_Init &rArr; __aeabi_ldivmod &rArr; __aeabi_uldivmod &rArr; __aeabi_llsr
</UL>
<BR>[Calls]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_hal_init
</UL>
<BR>[Called By]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_init
</UL>

<P><STRONG><a name="[46]"></a>uart_send_buffer</STRONG> (Thumb, 32 bytes, Stack size 24 bytes, uart.o(i.uart_send_buffer))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = uart_send_buffer
</UL>
<BR>[Address Reference Count : 1]<UL><LI> uart.o(i.uart_init)
</UL>
<P><STRONG><a name="[47]"></a>uart_send_byte</STRONG> (Thumb, 14 bytes, Stack size 16 bytes, uart.o(i.uart_send_byte))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = uart_send_byte
</UL>
<BR>[Address Reference Count : 1]<UL><LI> uart.o(i.uart_init)
</UL>
<P><STRONG><a name="[45]"></a>uart_send_string</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, uart.o(i.uart_send_string))
<BR>[Address Reference Count : 1]<UL><LI> uart.o(i.uart_init)
</UL>
<P><STRONG><a name="[1f]"></a>utimer1_500ms_callback</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, app_timer.o(i.utimer1_500ms_callback))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = utimer1_500ms_callback &rArr; timer_app_sw_can_function &rArr; can_timer_get_mod &rArr; can_app_get_mod_state &rArr; can_app_get_mod_vout
</UL>
<BR>[Calls]<UL><LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_app_sw_can_function
</UL>
<BR>[Address Reference Count : 1]<UL><LI> app_timer.o(i.app_timer_init)
</UL>
<P><STRONG><a name="[9b]"></a>utimer1_hal_init</STRONG> (Thumb, 68 bytes, Stack size 56 bytes, utimer_hal.o(i.utimer1_hal_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = utimer1_hal_init &rArr; TIM_TimerInit
</UL>
<BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimerStrutInit
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimerInit
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimerCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_init
</UL>

<P><STRONG><a name="[8e]"></a>utimer2_hal_init</STRONG> (Thumb, 72 bytes, Stack size 56 bytes, utimer_hal.o(i.utimer2_hal_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = utimer2_hal_init &rArr; TIM_TimerInit
</UL>
<BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimerStrutInit
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimerInit
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimerCmd
<LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer2_hal_enable
</UL>
<BR>[Called By]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_init
</UL>

<P><STRONG><a name="[90]"></a>utimer2_start</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, utimer_hal.o(i.utimer2_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = utimer2_start
</UL>
<BR>[Calls]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimerCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_timer_start
</UL>

<P><STRONG><a name="[91]"></a>utimer2_stop</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, utimer_hal.o(i.utimer2_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = utimer2_stop
</UL>
<BR>[Calls]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimerCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_timer_stop
</UL>
<P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[6f]"></a>can_add_slave_addr</STRONG> (Thumb, 64 bytes, Stack size 8 bytes, app_can_master.o(i.can_add_slave_addr))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = can_add_slave_addr
</UL>
<BR>[Called By]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_can_loop_func
</UL>

<P><STRONG><a name="[70]"></a>can_find_slave</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, app_can_master.o(i.can_find_slave))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = can_find_slave
</UL>
<BR>[Called By]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_can_loop_func
</UL>

<P><STRONG><a name="[71]"></a>can_read_slave_device_info</STRONG> (Thumb, 270 bytes, Stack size 12 bytes, app_can_master.o(i.can_read_slave_device_info))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = can_read_slave_device_info
</UL>
<BR>[Called By]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_can_loop_func
</UL>

<P><STRONG><a name="[58]"></a>ID_Filter</STRONG> (Thumb, 138 bytes, Stack size 8 bytes, can_hal.o(i.ID_Filter))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = ID_Filter
</UL>
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_Init
</UL>

<P><STRONG><a name="[59]"></a>__NVIC_SetPriority</STRONG> (Thumb, 110 bytes, Stack size 8 bytes, can_hal.o(i.__NVIC_SetPriority))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __NVIC_SetPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_Init
</UL>

<P><STRONG><a name="[a1]"></a>__NVIC_SetPriority</STRONG> (Thumb, 110 bytes, Stack size 8 bytes, uart_hal.o(i.__NVIC_SetPriority))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __NVIC_SetPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_hal_init
</UL>

<P><STRONG><a name="[9e]"></a>uart1_gpio_init</STRONG> (Thumb, 76 bytes, Stack size 16 bytes, uart_hal.o(i.uart1_gpio_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = uart1_gpio_init &rArr; GPIO_PinAFConfig &rArr; __ARM_common_switch8
</UL>
<BR>[Calls]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_StructInit
<LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_PinAFConfig
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart1_hal_init
</UL>

<P><STRONG><a name="[97]"></a>__NVIC_EnableIRQ</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, utimer_hal.o(i.__NVIC_EnableIRQ))
<BR><BR>[Called By]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer2_hal_enable
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer1_hal_enable
</UL>

<P><STRONG><a name="[96]"></a>__NVIC_SetPriority</STRONG> (Thumb, 110 bytes, Stack size 8 bytes, utimer_hal.o(i.__NVIC_SetPriority))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __NVIC_SetPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer2_hal_enable
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer1_hal_enable
</UL>

<P><STRONG><a name="[2b]"></a>can_clear_limit_flag</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, can.o(i.can_clear_limit_flag))
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[27]"></a>can_clear_running_callback</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, can.o(i.can_clear_running_callback))
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[2a]"></a>can_get_limit_flag</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, can.o(i.can_get_limit_flag))
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[26]"></a>can_receive_message</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, can.o(i.can_receive_message))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = can_receive_message &rArr; can_receive_msg
</UL>
<BR>[Calls]<UL><LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_receive_msg
</UL>
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[24]"></a>can_rx_finish</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, can.o(i.can_rx_finish))
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[23]"></a>can_set_dst_addr</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, can.o(i.can_set_dst_addr))
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[20]"></a>can_set_ide</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, can.o(i.can_set_ide))
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[29]"></a>can_set_limit_flag</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, can.o(i.can_set_limit_flag))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = can_set_limit_flag
</UL>
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[21]"></a>can_set_rtr</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, can.o(i.can_set_rtr))
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[22]"></a>can_set_src_addr</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, can.o(i.can_set_src_addr))
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[25]"></a>can_transmit_message</STRONG> (Thumb, 40 bytes, Stack size 24 bytes, can.o(i.can_transmit_message))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = can_transmit_message &rArr; can_send_msg
</UL>
<BR>[Calls]<UL><LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_send_msg
</UL>
<BR>[Address Reference Count : 1]<UL><LI> can.o(i.can_init)
</UL>
<P><STRONG><a name="[87]"></a>led_object_init</STRONG> (Thumb, 114 bytes, Stack size 0 bytes, led.o(i.led_object_init))
<BR><BR>[Called By]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_init
</UL>

<P><STRONG><a name="[2c]"></a>led_set_state</STRONG> (Thumb, 150 bytes, Stack size 16 bytes, led.o(i.led_set_state))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = led_set_state
</UL>
<BR>[Called By]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_timer_functions
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_init)
</UL>
<P><STRONG><a name="[88]"></a>led_sync_state</STRONG> (Thumb, 48 bytes, Stack size 16 bytes, led.o(i.led_sync_state))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = led_sync_state
</UL>
<BR>[Called By]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_timer_functions
</UL>

<P><STRONG><a name="[31]"></a>led_timer_functions</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, led.o(i.led_timer_functions))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = led_timer_functions &rArr; led_sync_state
</UL>
<BR>[Calls]<UL><LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_sync_state
<LI><a href="#[2c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_set_state
</UL>
<BR>[Address Reference Count : 1]<UL><LI> led.o(i.led_init)
</UL>
<P><STRONG><a name="[42]"></a>timer_callback_handler</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, timer.o(i.timer_callback_handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = timer_callback_handler
</UL>
<BR>[Calls]<UL><LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_daemon_process
</UL>
<BR>[Address Reference Count : 1]<UL><LI> timer.o(i.timer_init)
</UL>
<P><STRONG><a name="[9a]"></a>timer_daemon_process</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, timer.o(i.timer_daemon_process))
<BR><BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_callback_handler
</UL>

<P><STRONG><a name="[43]"></a>timer_set_inject</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, timer.o(i.timer_set_inject))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = timer_set_inject
</UL>
<BR>[Address Reference Count : 1]<UL><LI> timer.o(i.timer_init)
</UL>
<P><STRONG><a name="[6b]"></a>_printf_core</STRONG> (Thumb, 30 bytes, Stack size 24 bytes, printfb.o(i._printf_core), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0printf$bare
</UL>
<P>
<H3>
Undefined Global Symbols
</H3>
<P><STRONG><a name="[4c]"></a>__arm_fini_</STRONG> (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
<BR><BR>[Called By]<UL><LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown_fini
</UL>
<HR></body></html>
